#!/usr/bin/env python3

import os
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AyatanaAppIndicator3', '0.1')
from gi.repository import Gtk, AyatanaAppIndicator3

APPINDICATOR_ID = "youtube-downloader"

def script1(_):
    os.popen("pkill -f /usr/share/click-radio/menu/notify/'Youtube Downloader' &amp; /usr/bin/click-radio")

def script2(_):
    os.popen("/usr/share/click-radio/menu/wayland/app/searchweb")

def script3(_):
    os.popen("sh -c /usr/share/click-radio/menu/app/yt-pl")

def script4(_):
    os.popen("/usr/share/click-radio/menu/app/yt-dl")

def script5(_):
    os.popen("pkill -f /usr/share/click-radio/menu/notify/Youtube &amp; /usr/share/click-radio/menu/app/kill > /dev/null 2>&1")

def build_menu():
    menu = Gtk.Menu()
    items = [
        ("📻️ Menu", script1, "Return to Main Menu"),
        ("🔎️ Search", script2, "Search Artist, Title"),
        ("▶️ Play", script3, "Play a youtube URL"),
        ("📥️ Download", script4, "Download Audio or Video"),
        ("❌️ Quit", script5, "Quit YouTube"),
    ]

    for label, callback, tip in items:
        item = Gtk.MenuItem(label=label)
        item.connect('activate', callback)
        item.set_tooltip_text(tip)
        menu.append(item)

    menu.show_all()
    return menu

indicator = AyatanaAppIndicator3.Indicator.new(
    APPINDICATOR_ID,
    "/usr/share/click-radio/icons/click-radio.png",
    AyatanaAppIndicator3.IndicatorCategory.APPLICATION_STATUS
)

indicator.set_status(AyatanaAppIndicator3.IndicatorStatus.ACTIVE)
indicator.set_menu(build_menu())

Gtk.main()
